package com.ihrm.domain.system.response;

import com.ihrm.domain.system.Role;
import com.ihrm.domain.system.User;
import lombok.Getter;
import lombok.Setter;
import org.springframework.beans.BeanUtils;

import javax.persistence.Id;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


@Getter
@Setter
public class UserResult implements Serializable {
    
    /**
     * ID
     */
    @Id
    private String id;
    /**
     * 手机号码
     */
    private String mobile;
    
    /**
     * 用户名称
     */
    private String username;
    
    /**
     * 密码
     */
    private String password;
    
    /**
     * 启用状态
     *      0 为禁用
     *      1 为启用
     */
    private Integer enableState;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    private String companyId;
    
    private String companyName;
    
    /**
     * 部门id
     */
    private String departmentId;
    
    /**
     * 入职时间
     */
    private Date timeOfEntry;
    
    /**
     * 聘用形式
     */
    private Integer formOfEmployment;
    
    /**
     * 工号
     */
    private String workNumber;
    
    /**
     * 管理形式
     */
    private String formOfManagement;
    
    /**
     * 工作城市
     */
    private String workingCity;
    
    /**
     * 转正时间
     */
    private Date correctionTime;
    
    /**
     * 在职状态
     *      1 在职
     *      2 离职
     */
    private Integer inServiceStatus;
    
    private String departmentName;
    
    private List<String> roleIds=new ArrayList<>();
    
    /**
     * 用户头像
     */
    private String staffPhoto;
    
    public UserResult(User user){
        BeanUtils.copyProperties(user,this);
        for (Role role: user.getRoles()){
            this.roleIds.add(role.getId());
        }
    }
    
}
